# ### 第四题
# **试题：实现一个简单的文本查询系统**
# 编写一个Python类`SimpleTextQuery`，该类用于在给定的文本集合中执行简单的文本查询。该类应该支持以下功能：

# 1. `__init__(self, texts)`: 构造函数，接收一个字符串列表`texts`作为输入，每个字符串代表一个文本文档。

# 2. `query(self, word)`: 返回一个列表，包含所有包含指定单词`word`的文本文档。查询时不区分大小写，但返回的文本应保持原样。
# 如果没有文档包含该单词，则返回空列表。

# 3. `add_text(self, text)`: 允许向文本集合中添加一个新的文本文档。

# 4. `remove_text(self, text)`: 如果给定的文本存在于集合中，则从集合中移除该文本。操作成功返回`True`，如果文本不存在则返回`False`。

# 5. `most_common_words(self, n)`: 返回一个列表，包含集合中出现频率最高的`n`个单词及其出现次数。列表中的元素应为`(word, count)`
# 形式的元组，按出现次数降序排序。如果两个单词出现次数相同，则按字典序排序。
#
# 请注意，不要使用任何外部Python模块
#
# 这个问题考验了你对字符串处理、数据结构（如列表和字典）的使用，以及基本的算法实现能力。
#
# **示例用法：**
# ```python
class SimpleTextQuery:
    def __init__(self, texts):
        self.texts=texts
    def query(self, word):
        word=word.lower()
        for text in self.texts:
            if word in text.lower():
                return text
        return None
    def add_text(self, text):
        self.texts.append(text)
    def remove_text(self, text):
        if text in self.texts:
            self.remove(text)
        else:
            print(f"remove {text} failed")
    def most_common_words(self, n):
        def most_common_words(self, n):
            word_count = {}
            for text in self.texts:
                words = text.lower().split()
                for word in words:
                    if word in word_count:
                        word_count[word] += 1
                    else:
                        word_count[word] = 1
            common_words = sorted(word_count.items(), key=lambda x: (-x[1], x[0]))
            return common_words[:n]




